{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "9TnJztDZGw-n"
   },
   "source": [
    "# Text classification with an RNN"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "lUWearf0Gw-p"
   },
   "source": [
    "This text classification tutorial trains a [recurrent neural network](https://developers.google.com/machine-learning/glossary/#recurrent_neural_network) on the [IMDB large movie review dataset](http://ai.stanford.edu/~amaas/data/sentiment/) for sentiment analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from kubeflow import fairing\n",
    "from kubeflow.fairing import TrainJob\n",
    "import importlib\n",
    "import argparse\n",
    "import tensorflow as tf\n",
    "import tensorflow_datasets as tfds\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def data_loader(hyperparams, local_data_dir):\n",
    "    dataset, info = tfds.load('imdb_reviews/subwords8k', \n",
    "                              data_dir=local_data_dir,\n",
    "                              with_info=True,\n",
    "                              as_supervised=True)\n",
    "    train_dataset, test_dataset = dataset['train'], dataset['test']\n",
    "    encoder = info.features['text'].encoder\n",
    "    train_dataset = train_dataset.shuffle(hyperparams['BUFFER_SIZE'])\n",
    "    train_dataset = train_dataset.padded_batch(hyperparams['BATCH_SIZE'], padded_shapes=None)\n",
    "    test_dataset = test_dataset.padded_batch(hyperparams['BATCH_SIZE'], padded_shapes=None)\n",
    "    return train_dataset, test_dataset, encoder"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def define_model(encoder):\n",
    "    model = tf.keras.Sequential([\n",
    "        tf.keras.layers.Embedding(encoder.vocab_size, 64),\n",
    "        tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64)),\n",
    "        tf.keras.layers.Dense(64, activation='relu'),\n",
    "        tf.keras.layers.Dense(1)\n",
    "    ])\n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "class MovieReviewClassification(object):\n",
    "    def __init__(self, learning_rate=1e-4, batch_size=64, epochs=2, local_data_dir='/app/tensorflow_datasets'):\n",
    "        hyperparams = {'BUFFER_SIZE': 10000, 'BATCH_SIZE': batch_size}\n",
    "        self.model_file = \"lstm_trained\"\n",
    "        self.learning_rate = learning_rate\n",
    "        self.epochs = epochs\n",
    "        self.train_dataset, self.test_dataset, self.encoder = data_loader(hyperparams, local_data_dir)\n",
    "        \n",
    "    def train(self):\n",
    "        model = define_model(self.encoder)\n",
    "        model.compile(loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),\n",
    "                      optimizer=tf.keras.optimizers.Adam(self.learning_rate),\n",
    "                      metrics=['accuracy'])\n",
    "        history = model.fit(self.train_dataset, epochs=self.epochs,\n",
    "                            validation_data=self.test_dataset,\n",
    "                            validation_steps=30)\n",
    "        model.save(self.model_file)\n",
    "        test_loss, test_acc = model.evaluate(self.test_dataset)\n",
    "        print('Test Loss: {}'.format(test_loss))\n",
    "        print('Test Accuracy: {}'.format(test_acc))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[W 200703 10:01:34 tasks:54] Using default base docker image: registry.hub.docker.com/library/python:3.6.9\n",
      "[W 200703 10:01:34 tasks:62] Using builder: <class 'kubeflow.fairing.builders.cluster.cluster.ClusterBuilder'>\n",
      "[I 200703 10:01:34 tasks:66] Building the docker image.\n",
      "[I 200703 10:01:34 cluster:46] Building image using cluster builder.\n",
      "[W 200703 10:01:34 base:94] /home/jovyan/.local/lib/python3.6/site-packages/kubeflow/fairing/__init__.py already exists in Fairing context, skipping...\n",
      "[I 200703 10:01:34 base:107] Creating docker context: /tmp/fairing_context_fh52_czq\n",
      "[W 200703 10:01:34 base:94] /home/jovyan/.local/lib/python3.6/site-packages/kubeflow/fairing/__init__.py already exists in Fairing context, skipping...\n",
      "[W 200703 10:01:48 manager:298] Waiting for fairing-builder-64vxg-8d45k to start...\n",
      "[W 200703 10:01:48 manager:298] Waiting for fairing-builder-64vxg-8d45k to start...\n",
      "[W 200703 10:01:48 manager:298] Waiting for fairing-builder-64vxg-8d45k to start...\n",
      "[I 200703 10:01:50 manager:304] Pod started running True\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "E0703 10:01:54.197364       1 aws_credentials.go:77] while getting AWS credentials NoCredentialProviders: no valid providers in chain. Deprecated.\n",
      "\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors\n",
      "E0703 10:01:54.207742       1 metadata.go:248] Failed to unmarshal scopes: json: cannot unmarshal string into Go value of type []string\n",
      "\u001b[36mINFO\u001b[0m[0004] Retrieving image manifest registry.hub.docker.com/library/python:3.6.9\n",
      "E0703 10:01:54.657863       1 metadata.go:154] while reading 'google-dockercfg' metadata: http status code: 404 while fetching url http://metadata.google.internal./computeMetadata/v1/instance/attributes/google-dockercfg\n",
      "E0703 10:01:54.659838       1 metadata.go:166] while reading 'google-dockercfg-url' metadata: http status code: 404 while fetching url http://metadata.google.internal./computeMetadata/v1/instance/attributes/google-dockercfg-url\n",
      "\u001b[36mINFO\u001b[0m[0007] Retrieving image manifest registry.hub.docker.com/library/python:3.6.9\n",
      "\u001b[36mINFO\u001b[0m[0009] Built cross stage deps: map[]\n",
      "\u001b[36mINFO\u001b[0m[0009] Retrieving image manifest registry.hub.docker.com/library/python:3.6.9\n",
      "\u001b[36mINFO\u001b[0m[0010] Retrieving image manifest registry.hub.docker.com/library/python:3.6.9\n",
      "\u001b[36mINFO\u001b[0m[0012] Executing 0 build triggers\n",
      "\u001b[36mINFO\u001b[0m[0012] Checking for cached layer gcr.io/gsoc-kf-example/fairing-job/fairing-job/cache:0a3fe1c6468b990b27e36abd2581cb9bd0e838665ca411450642850790442267...\n",
      "\u001b[36mINFO\u001b[0m[0013] Using caching version of cmd: COPY /app//requirements.txt /app/\n",
      "\u001b[36mINFO\u001b[0m[0013] Checking for cached layer gcr.io/gsoc-kf-example/fairing-job/fairing-job/cache:ae1e04d1ff2efdc261e5028eb5ffff3a00d517fdd90b69ecdb59ab681994b3f0...\n",
      "\u001b[36mINFO\u001b[0m[0013] Using caching version of cmd: RUN if [ -e requirements.txt ];then pip install --no-cache -r requirements.txt; fi\n",
      "\u001b[36mINFO\u001b[0m[0014] Checking for cached layer gcr.io/gsoc-kf-example/fairing-job/fairing-job/cache:6651f01a1777ae2b1297b5eeb158cc3599b8f57d815b4c69d79e1a83b4a5adb4...\n",
      "\u001b[36mINFO\u001b[0m[0014] No cached layer found for cmd COPY /app/ /app/\n",
      "\u001b[36mINFO\u001b[0m[0014] Unpacking rootfs as cmd COPY /app/ /app/ requires it.\n",
      "\u001b[36mINFO\u001b[0m[0034] WORKDIR /app/\n",
      "\u001b[36mINFO\u001b[0m[0034] cmd: workdir\n",
      "\u001b[36mINFO\u001b[0m[0034] Changed working directory to /app/\n",
      "\u001b[36mINFO\u001b[0m[0034] Creating directory /app/\n",
      "\u001b[36mINFO\u001b[0m[0034] Resolving 1 paths\n",
      "\u001b[36mINFO\u001b[0m[0034] Taking snapshot of files...\n",
      "\u001b[36mINFO\u001b[0m[0034] ENV FAIRING_RUNTIME 1\n",
      "\u001b[36mINFO\u001b[0m[0034] No files changed in this command, skipping snapshotting.\n",
      "\u001b[36mINFO\u001b[0m[0034] COPY /app//requirements.txt /app/\n",
      "\u001b[36mINFO\u001b[0m[0034] Found cached layer, extracting to filesystem\n",
      "\u001b[36mINFO\u001b[0m[0035] RUN if [ -e requirements.txt ];then pip install --no-cache -r requirements.txt; fi\n",
      "\u001b[36mINFO\u001b[0m[0035] Found cached layer, extracting to filesystem\n",
      "\u001b[36mINFO\u001b[0m[0070] COPY /app/ /app/\n",
      "\u001b[36mINFO\u001b[0m[0071] Resolving 24 paths\n",
      "\u001b[36mINFO\u001b[0m[0071] Taking snapshot of files...\n",
      "\u001b[36mINFO\u001b[0m[0075] Pushing layer gcr.io/gsoc-kf-example/fairing-job/fairing-job/cache:6651f01a1777ae2b1297b5eeb158cc3599b8f57d815b4c69d79e1a83b4a5adb4 to cache now\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[W 200703 10:03:30 job:101] The job fairing-job-qwn9z launched.\n",
      "[W 200703 10:03:30 manager:298] Waiting for fairing-job-qwn9z-5qkpt to start...\n",
      "[W 200703 10:03:30 manager:298] Waiting for fairing-job-qwn9z-5qkpt to start...\n",
      "[W 200703 10:03:30 manager:298] Waiting for fairing-job-qwn9z-5qkpt to start...\n",
      "[I 200703 10:04:10 manager:304] Pod started running True\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TFDS datasets with text encoding are deprecated and will be removed in a future version. Instead, you should use the plain text version and tokenize the text using `tensorflow_text` (See: https://www.tensorflow.org/tutorials/tensorflow_text/intro#tfdata_example)\n",
      "Load dataset info from /app/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0\n",
      "Reusing dataset imdb_reviews (/app/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0)\n",
      "Constructing tf.data.Dataset for split None, from /app/tensorflow_datasets/imdb_reviews/subwords8k/1.0.0\n",
      "2020-07-03 10:04:13.872255: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory\n",
      "2020-07-03 10:04:13.872495: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)\n",
      "2020-07-03 10:04:13.872534: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (fairing-job-qwn9z-5qkpt): /proc/driver/nvidia/version does not exist\n",
      "2020-07-03 10:04:13.872942: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA\n",
      "2020-07-03 10:04:13.885057: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2200000000 Hz\n",
      "2020-07-03 10:04:13.886099: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7f6310000b20 initialized for platform Host (this does not guarantee that XLA will be used). Devices:\n",
      "2020-07-03 10:04:13.886147: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version\n",
      "Epoch 1/2\n",
      "  6/391 [..............................] - ETA: 5:56 - loss: 0.6938 - accuracy: 0.47\n",
      " 12/391 [..............................] - ETA: 6:59 - loss: 0.6936 - accuracy: 0.47\n",
      " 18/391 [>.............................] - ETA: 7:18 - loss: 0.6934 - accuracy: 0.48\n",
      " 24/391 [>.............................] - ETA: 7:15 - loss: 0.6934 - accuracy: 0.48\n",
      " 30/391 [=>............................] - ETA: 7:02 - loss: 0.6934 - accuracy: 0.49\n",
      " 36/391 [=>............................] - ETA: 6:52 - loss: 0.6933 - accuracy: 0.48\n",
      " 42/391 [==>...........................] - ETA: 6:42 - loss: 0.6933 - accuracy: 0.49\n",
      " 48/391 [==>...........................] - ETA: 6:43 - loss: 0.6933 - accuracy: 0.49\n",
      " 54/391 [===>..........................] - ETA: 6:46 - loss: 0.6933 - accuracy: 0.49\n",
      " 60/391 [===>..........................] - ETA: 6:59 - loss: 0.6933 - accuracy: 0.50\n",
      " 66/391 [====>.........................] - ETA: 6:47 - loss: 0.6932 - accuracy: 0.49\n",
      " 72/391 [====>.........................] - ETA: 6:39 - loss: 0.6932 - accuracy: 0.50\n",
      " 77/391 [====>.........................] - ETA: 6:31 - loss: 0.6932 - accuracy: 0.503\n",
      " 83/391 [=====>........................] - ETA: 6:25 - loss: 0.6931 - accuracy: 0.505\n",
      " 89/391 [=====>........................] - ETA: 6:11 - loss: 0.6930 - accuracy: 0.507\n",
      " 95/391 [======>.......................] - ETA: 6:04 - loss: 0.6930 - accuracy: 0.506\n",
      "101/391 [======>.......................] - ETA: 5:57 - loss: 0.6930 - accuracy: 0.505\n",
      "107/391 [=======>......................] - ETA: 5:51 - loss: 0.6931 - accuracy: 0.503\n",
      "113/391 [=======>......................] - ETA: 5:50 - loss: 0.6930 - accuracy: 0.50\n",
      "119/391 [========>.....................] - ETA: 5:42 - loss: 0.6929 - accuracy: 0.50\n",
      "125/391 [========>.....................] - ETA: 5:36 - loss: 0.6930 - accuracy: 0.50\n",
      "131/391 [=========>....................] - ETA: 5:31 - loss: 0.6930 - accuracy: 0.50\n",
      "137/391 [=========>....................] - ETA: 5:23 - loss: 0.6930 - accuracy: 0.50\n",
      "143/391 [=========>....................] - ETA: 5:14 - loss: 0.6930 - accuracy: 0.50\n",
      "148/391 [==========>...................] - ETA: 5:05 - loss: 0.6930 - accuracy: 0.50\n",
      "154/391 [==========>...................] - ETA: 4:59 - loss: 0.6929 - accuracy: 0.50\n",
      "160/391 [===========>..................] - ETA: 4:52 - loss: 0.6929 - accuracy: 0.50\n",
      "166/391 [===========>..................] - ETA: 4:44 - loss: 0.6929 - accuracy: 0.50\n",
      "172/391 [============>.................] - ETA: 4:37 - loss: 0.6929 - accuracy: 0.50\n",
      "178/391 [============>.................] - ETA: 4:29 - loss: 0.6929 - accuracy: 0.50\n",
      "184/391 [=============>................] - ETA: 4:20 - loss: 0.6928 - accuracy: 0.50\n",
      "190/391 [=============>................] - ETA: 4:12 - loss: 0.6928 - accuracy: 0.49\n",
      "196/391 [==============>...............] - ETA: 4:03 - loss: 0.6928 - accuracy: 0.49\n",
      "202/391 [==============>...............] - ETA: 3:58 - loss: 0.6928 - accuracy: 0.49\n",
      "208/391 [==============>...............] - ETA: 3:51 - loss: 0.6927 - accuracy: 0.49\n",
      "214/391 [===============>..............] - ETA: 3:43 - loss: 0.6927 - accuracy: 0.50\n",
      "220/391 [===============>..............] - ETA: 3:35 - loss: 0.6927 - accuracy: 0.50\n",
      "225/391 [================>.............] - ETA: 3:28 - loss: 0.6926 - accuracy: 0.499\n",
      "231/391 [================>.............] - ETA: 3:24 - loss: 0.6925 - accuracy: 0.500\n",
      "237/391 [=================>............] - ETA: 3:16 - loss: 0.6924 - accuracy: 0.500\n",
      "243/391 [=================>............] - ETA: 3:08 - loss: 0.6923 - accuracy: 0.500\n",
      "249/391 [==================>...........] - ETA: 3:01 - loss: 0.6921 - accuracy: 0.500\n",
      "255/391 [==================>...........] - ETA: 2:53 - loss: 0.6917 - accuracy: 0.499\n",
      "261/391 [===================>..........] - ETA: 2:45 - loss: 0.6908 - accuracy: 0.50\n",
      "267/391 [===================>..........] - ETA: 2:37 - loss: 0.6902 - accuracy: 0.50\n",
      "273/391 [===================>..........] - ETA: 2:20 - loss: 0.6894 - accuracy: 0.49\n",
      "279/391 [====================>.........] - ETA: 2:22 - loss: 0.6882 - accuracy: 0.49\n",
      "285/391 [====================>.........] - ETA: 2:14 - loss: 0.6873 - accuracy: 0.49\n",
      "291/391 [=====================>........] - ETA: 2:07 - loss: 0.6861 - accuracy: 0.49\n",
      "296/391 [=====================>........] - ETA: 1:59 - loss: 0.6850 - accuracy: 0.49\n",
      "302/391 [======================>.......] - ETA: 1:52 - loss: 0.6838 - accuracy: 0.49\n",
      "308/391 [======================>.......] - ETA: 1:44 - loss: 0.6817 - accuracy: 0.50\n",
      "314/391 [=======================>......] - ETA: 1:37 - loss: 0.6805 - accuracy: 0.50\n",
      "320/391 [=======================>......] - ETA: 1:29 - loss: 0.6786 - accuracy: 0.50\n",
      "326/391 [========================>.....] - ETA: 1:21 - loss: 0.6762 - accuracy: 0.51\n",
      "332/391 [========================>.....] - ETA: 1:14 - loss: 0.6738 - accuracy: 0.51\n",
      "338/391 [========================>.....] - ETA: 1:06 - loss: 0.6713 - accuracy: 0.51\n",
      "344/391 [=========================>....] - ETA: 58s - looss: 0.6701 - accuracy: 0.52\n",
      "350/391 [=========================>....] - ETA: 51s - loss: 0.6679 - accuracy: 0.525\n",
      "356/391 [==========================>...] - ETA: 43s - loss: 0.6660 - accuracy: 0.527\n",
      "362/391 [==========================>...] - ETA: 37s - loss: 0.6644 - accuracy: 0.530\n",
      "368/391 [===========================>..] - ETA: 29s - loss: 0.6628 - accuracy: 0.532\n",
      "374/391 [===========================>..] - ETA: 22s - loss: 0.6610 - accuracy: 0.534\n",
      "380/391 [============================>.] - ETA: 15s - loss: 0.6585 - accuracy: 0.537\n",
      "386/391 [============================>.] - ETA: 7s - loss: 0.6559 - accuracy: 0.5409\n",
      "391/391 [==============================] - 500s 1s/steoss: 0.6534 - accuracy: 0.54\n",
      "p - loss: 0.6534 - accuracy: 0.5446 - val_loss: 0.5178 - val_accuracy: 0.7760\n",
      "Epoch 2/2\n",
      "  6/391 [..............................] - ETA: 6:05 - loss: 0.4829 - accuracy: 0.80\n",
      " 12/391 [..............................] - ETA: 7:37 - loss: 0.4828 - accuracy: 0.79\n",
      " 18/391 [>.............................] - ETA: 8:59 - loss: 0.4843 - accuracy: 0.78\n",
      " 24/391 [>.............................] - ETA: 8:19 - loss: 0.4832 - accuracy: 0.78\n",
      " 30/391 [=>............................] - ETA: 8:00 - loss: 0.4826 - accuracy: 0.79\n",
      " 36/391 [=>............................] - ETA: 7:54 - loss: 0.4681 - accuracy: 0.80\n",
      " 42/391 [==>...........................] - ETA: 7:34 - loss: 0.4666 - accuracy: 0.79\n",
      " 48/391 [==>...........................] - ETA: 7:22 - loss: 0.4645 - accuracy: 0.80\n",
      " 54/391 [===>..........................] - ETA: 7:20 - loss: 0.4631 - accuracy: 0.80\n",
      " 60/391 [===>..........................] - ETA: 7:14 - loss: 0.4607 - accuracy: 0.80\n",
      " 66/391 [====>.........................] - ETA: 7:11 - loss: 0.4543 - accuracy: 0.80\n",
      " 72/391 [====>.........................] - ETA: 7:02 - loss: 0.4512 - accuracy: 0.80\n",
      " 77/391 [====>.........................] - ETA: 6:54 - loss: 0.4481 - accuracy: 0.808\n",
      " 83/391 [=====>........................] - ETA: 6:42 - loss: 0.4441 - accuracy: 0.809\n",
      " 89/391 [=====>........................] - ETA: 6:34 - loss: 0.4396 - accuracy: 0.812\n",
      " 95/391 [======>.......................] - ETA: 6:27 - loss: 0.4395 - accuracy: 0.811\n",
      "101/391 [======>.......................] - ETA: 6:19 - loss: 0.4356 - accuracy: 0.814\n",
      "107/391 [=======>......................] - ETA: 6:10 - loss: 0.4314 - accuracy: 0.816\n",
      "113/391 [=======>......................] - ETA: 5:59 - loss: 0.4292 - accuracy: 0.81\n",
      "119/391 [========>.....................] - ETA: 5:50 - loss: 0.4277 - accuracy: 0.81\n",
      "125/391 [========>.....................] - ETA: 5:42 - loss: 0.4265 - accuracy: 0.81\n",
      "131/391 [=========>....................] - ETA: 5:36 - loss: 0.4241 - accuracy: 0.81\n",
      "137/391 [=========>....................] - ETA: 5:27 - loss: 0.4225 - accuracy: 0.81\n",
      "143/391 [=========>....................] - ETA: 5:23 - loss: 0.4196 - accuracy: 0.82\n",
      "148/391 [==========>...................] - ETA: 5:14 - loss: 0.4183 - accuracy: 0.82\n",
      "154/391 [==========>...................] - ETA: 5:07 - loss: 0.4171 - accuracy: 0.82\n",
      "160/391 [===========>..................] - ETA: 4:59 - loss: 0.4144 - accuracy: 0.82\n",
      "166/391 [===========>..................] - ETA: 4:49 - loss: 0.4130 - accuracy: 0.82\n",
      "172/391 [============>.................] - ETA: 4:40 - loss: 0.4113 - accuracy: 0.82\n",
      "178/391 [============>.................] - ETA: 4:33 - loss: 0.4097 - accuracy: 0.82\n",
      "184/391 [=============>................] - ETA: 4:25 - loss: 0.4070 - accuracy: 0.82\n",
      "190/391 [=============>................] - ETA: 4:16 - loss: 0.4043 - accuracy: 0.82\n",
      "196/391 [==============>...............] - ETA: 4:09 - loss: 0.4058 - accuracy: 0.82\n",
      "202/391 [==============>...............] - ETA: 4:02 - loss: 0.4049 - accuracy: 0.82\n",
      "208/391 [==============>...............] - ETA: 3:56 - loss: 0.4050 - accuracy: 0.82\n",
      "214/391 [===============>..............] - ETA: 3:48 - loss: 0.4043 - accuracy: 0.82\n",
      "220/391 [===============>..............] - ETA: 3:40 - loss: 0.4031 - accuracy: 0.82\n",
      "225/391 [================>.............] - ETA: 3:32 - loss: 0.4006 - accuracy: 0.830\n",
      "231/391 [================>.............] - ETA: 3:25 - loss: 0.3995 - accuracy: 0.831\n",
      "237/391 [=================>............] - ETA: 3:17 - loss: 0.3976 - accuracy: 0.831\n",
      "243/391 [=================>............] - ETA: 3:09 - loss: 0.3957 - accuracy: 0.832\n",
      "249/391 [==================>...........] - ETA: 3:01 - loss: 0.3937 - accuracy: 0.833\n",
      "255/391 [==================>...........] - ETA: 2:54 - loss: 0.3914 - accuracy: 0.834\n",
      "261/391 [===================>..........] - ETA: 2:46 - loss: 0.3895 - accuracy: 0.83\n",
      "267/391 [===================>..........] - ETA: 2:39 - loss: 0.3875 - accuracy: 0.83\n",
      "273/391 [===================>..........] - ETA: 2:32 - loss: 0.3857 - accuracy: 0.83\n",
      "279/391 [====================>.........] - ETA: 2:24 - loss: 0.3841 - accuracy: 0.83\n",
      "285/391 [====================>.........] - ETA: 2:16 - loss: 0.3825 - accuracy: 0.83\n",
      "291/391 [=====================>........] - ETA: 2:09 - loss: 0.3828 - accuracy: 0.83\n",
      "296/391 [=====================>........] - ETA: 2:01 - loss: 0.3818 - accuracy: 0.83\n",
      "302/391 [======================>.......] - ETA: 1:53 - loss: 0.3812 - accuracy: 0.83\n",
      "308/391 [======================>.......] - ETA: 1:45 - loss: 0.3809 - accuracy: 0.83\n",
      "314/391 [=======================>......] - ETA: 1:38 - loss: 0.3801 - accuracy: 0.84\n",
      "320/391 [=======================>......] - ETA: 1:30 - loss: 0.3790 - accuracy: 0.84\n",
      "326/391 [========================>.....] - ETA: 1:22 - loss: 0.3778 - accuracy: 0.84\n",
      "332/391 [========================>.....] - ETA: 1:15 - loss: 0.3761 - accuracy: 0.84\n",
      "338/391 [========================>.....] - ETA: 1:07 - loss: 0.3749 - accuracy: 0.84\n",
      "344/391 [=========================>....] - ETA: 59s - looss: 0.3738 - accuracy: 0.84\n",
      "350/391 [=========================>....] - ETA: 52s - loss: 0.3727 - accuracy: 0.843\n",
      "356/391 [==========================>...] - ETA: 44s - loss: 0.3717 - accuracy: 0.843\n",
      "362/391 [==========================>...] - ETA: 38s - loss: 0.3701 - accuracy: 0.844\n",
      "368/391 [===========================>..] - ETA: 30s - loss: 0.3696 - accuracy: 0.844\n",
      "374/391 [===========================>..] - ETA: 22s - loss: 0.3691 - accuracy: 0.845\n",
      "380/391 [============================>.] - ETA: 15s - loss: 0.3677 - accuracy: 0.845\n",
      "386/391 [============================>.] - ETA: 7s - loss: 0.3667 - accuracy: 0.8466\n",
      "391/391 [==============================] - 506s 1s/steoss: 0.3652 - accuracy: 0.84\n",
      "p - loss: 0.3652 - accuracy: 0.8470 - val_loss: 0.3543 - val_accuracy: 0.8620\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-07-03 10:21:13.187930: W tensorflow/python/util/util.cc:329] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.\n",
      "From /usr/local/lib/python3.6/site-packages/tensorflow/python/ops/resource_variable_ops.py:1817: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "If using Keras pass *_constraint arguments to layers.\n",
      "Assets written to: lstm_trained/assets\n",
      "  6/391 [..............................] - ETA: 1:58 - loss: 0.4125 - accuracy: 0.84\n",
      " 12/391 [..............................] - ETA: 2:03 - loss: 0.3715 - accuracy: 0.85\n",
      " 18/391 [>.............................] - ETA: 2:06 - loss: 0.3678 - accuracy: 0.85\n",
      " 24/391 [>.............................] - ETA: 2:05 - loss: 0.3618 - accuracy: 0.85\n",
      " 30/391 [=>............................] - ETA: 2:02 - loss: 0.3543 - accuracy: 0.86\n",
      " 36/391 [=>............................] - ETA: 2:00 - loss: 0.3478 - accuracy: 0.86\n",
      " 42/391 [==>...........................] - ETA: 1:58 - loss: 0.3453 - accuracy: 0.86\n",
      " 48/391 [==>...........................] - ETA: 1:57 - loss: 0.3442 - accuracy: 0.86\n",
      " 54/391 [===>..........................] - ETA: 1:56 - loss: 0.3412 - accuracy: 0.86\n",
      " 60/391 [===>..........................] - ETA: 1:53 - loss: 0.3397 - accuracy: 0.86\n",
      " 66/391 [====>.........................] - ETA: 1:51 - loss: 0.3432 - accuracy: 0.86\n",
      " 72/391 [====>.........................] - ETA: 1:50 - loss: 0.3430 - accuracy: 0.86\n",
      " 77/391 [====>.........................] - ETA: 1:48 - loss: 0.3421 - accuracy: 0.864\n",
      " 83/391 [=====>........................] - ETA: 1:47 - loss: 0.3400 - accuracy: 0.866\n",
      " 89/391 [=====>........................] - ETA: 1:47 - loss: 0.3428 - accuracy: 0.863\n",
      " 95/391 [======>.......................] - ETA: 1:43 - loss: 0.3419 - accuracy: 0.864\n",
      "101/391 [======>.......................] - ETA: 1:42 - loss: 0.3443 - accuracy: 0.863\n",
      "107/391 [=======>......................] - ETA: 1:41 - loss: 0.3438 - accuracy: 0.862\n",
      "113/391 [=======>......................] - ETA: 1:39 - loss: 0.3461 - accuracy: 0.86\n",
      "119/391 [========>.....................] - ETA: 1:36 - loss: 0.3467 - accuracy: 0.86\n",
      "125/391 [========>.....................] - ETA: 1:34 - loss: 0.3478 - accuracy: 0.86\n",
      "131/391 [=========>....................] - ETA: 1:32 - loss: 0.3455 - accuracy: 0.86\n",
      "137/391 [=========>....................] - ETA: 1:29 - loss: 0.3444 - accuracy: 0.86\n",
      "143/391 [=========>....................] - ETA: 1:27 - loss: 0.3444 - accuracy: 0.86\n",
      "148/391 [==========>...................] - ETA: 1:25 - loss: 0.3442 - accuracy: 0.86\n",
      "154/391 [==========>...................] - ETA: 1:23 - loss: 0.3439 - accuracy: 0.86\n",
      "160/391 [===========>..................] - ETA: 1:22 - loss: 0.3442 - accuracy: 0.86\n",
      "166/391 [===========>..................] - ETA: 1:20 - loss: 0.3449 - accuracy: 0.86\n",
      "172/391 [============>.................] - ETA: 1:18 - loss: 0.3451 - accuracy: 0.86\n",
      "178/391 [============>.................] - ETA: 1:16 - loss: 0.3448 - accuracy: 0.86\n",
      "184/391 [=============>................] - ETA: 1:14 - loss: 0.3454 - accuracy: 0.86\n",
      "190/391 [=============>................] - ETA: 1:12 - loss: 0.3452 - accuracy: 0.86\n",
      "196/391 [==============>...............] - ETA: 1:09 - loss: 0.3455 - accuracy: 0.86\n",
      "202/391 [==============>...............] - ETA: 1:07 - loss: 0.3444 - accuracy: 0.86\n",
      "208/391 [==============>...............] - ETA: 1:05 - loss: 0.3467 - accuracy: 0.86\n",
      "214/391 [===============>..............] - ETA: 1:03 - loss: 0.3470 - accuracy: 0.86\n",
      "220/391 [===============>..............] - ETA: 1:01 - loss: 0.3480 - accuracy: 0.86\n",
      "225/391 [================>.............] - ETA: 59s - loss: 0.3472 - accuracy: 0.8611\n",
      "231/391 [================>.............] - ETA: 56s - loss: 0.3446 - accuracy: 0.862\n",
      "237/391 [=================>............] - ETA: 54s - loss: 0.3452 - accuracy: 0.862\n",
      "243/391 [=================>............] - ETA: 52s - loss: 0.3458 - accuracy: 0.861\n",
      "249/391 [==================>...........] - ETA: 50s - loss: 0.3458 - accuracy: 0.861\n",
      "255/391 [==================>...........] - ETA: 48s - loss: 0.3459 - accuracy: 0.861\n",
      "261/391 [===================>..........] - ETA: 46s - loss: 0.3450 - accuracy: 0.862\n",
      "267/391 [===================>..........] - ETA: 44s - loss: 0.3451 - accuracy: 0.862\n",
      "273/391 [===================>..........] - ETA: 41s - loss: 0.3448 - accuracy: 0.862\n",
      "279/391 [====================>.........] - ETA: 39s - loss: 0.3447 - accuracy: 0.862\n",
      "285/391 [====================>.........] - ETA: 37s - loss: 0.3448 - accuracy: 0.862\n",
      "291/391 [=====================>........] - ETA: 35s - loss: 0.3446 - accuracy: 0.862\n",
      "297/391 [=====================>........] - ETA: 33s - loss: 0.3432 - accuracy: 0.863\n",
      "303/391 [======================>.......] - ETA: 31s - loss: 0.3426 - accuracy: 0.863\n",
      "309/391 [======================>.......] - ETA: 29s - loss: 0.3418 - accuracy: 0.863\n",
      "315/391 [=======================>......] - ETA: 26s - loss: 0.3418 - accuracy: 0.864\n",
      "321/391 [=======================>......] - ETA: 24s - loss: 0.3417 - accuracy: 0.864\n",
      "327/391 [========================>.....] - ETA: 22s - loss: 0.3411 - accuracy: 0.864\n",
      "333/391 [========================>.....] - ETA: 20s - loss: 0.3413 - accuracy: 0.864\n",
      "339/391 [=========================>....] - ETA: 18s - loss: 0.3410 - accuracy: 0.864\n",
      "345/391 [=========================>....] - ETA: 16s - loss: 0.3411 - accuracy: 0.864\n",
      "351/391 [=========================>....] - ETA: 14s - loss: 0.3420 - accuracy: 0.864\n",
      "357/391 [==========================>...] - ETA: 11s - loss: 0.3421 - accuracy: 0.864\n",
      "363/391 [==========================>...] - ETA: 9s - loss: 0.3427 - accuracy: 0.8639\n",
      "369/391 [===========================>..] - ETA: 7s - loss: 0.3421 - accuracy: 0.863\n",
      "375/391 [===========================>..] - ETA: 5s - loss: 0.3427 - accuracy: 0.863\n",
      "381/391 [============================>.] - ETA: 3s - loss: 0.3431 - accuracy: 0.862\n",
      "387/391 [============================>.] - ETA: 1s - loss: 0.3428 - accuracy: 0.862\n",
      "391/391 [==============================] - 137s 350ms/step - loss: 0.3427 - accuracy: 0.8628\n",
      "Test Loss: 0.34269261360168457\n",
      "Test Accuracy: 0.8628399968147278\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[W 200703 10:23:43 job:173] Cleaning up job fairing-job-qwn9z...\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'fairing-job-qwn9z'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#using Fairing in Jupyter\n",
    "GCP_PROJECT = fairing.cloud.gcp.guess_project_name()\n",
    "DOCKER_REGISTRY = 'gcr.io/{}/fairing-job'.format(GCP_PROJECT)\n",
    "BuildContext = None\n",
    "FAIRING_BACKEND = 'KubeflowGKEBackend'\n",
    "BackendClass = getattr(importlib.import_module('kubeflow.fairing.backends'), FAIRING_BACKEND)\n",
    "\n",
    "data_files = ['tensorflow_datasets/downloads/ai.stanfor.edu_amaas_sentime_aclImdb_v1xA90oY07YfkP66HhdzDg046Ll8Bf3nAIlC6Rkj0WWP4.tar.gz', \n",
    "              'tensorflow_datasets/downloads/ai.stanfor.edu_amaas_sentime_aclImdb_v1xA90oY07YfkP66HhdzDg046Ll8Bf3nAIlC6Rkj0WWP4.tar.gz.INFO',\n",
    "              'tensorflow_datasets/imdb_reviews/subwords8k/1.0.0/dataset_info.json',\n",
    "              'tensorflow_datasets/imdb_reviews/subwords8k/1.0.0/imdb_reviews-test.tfrecord-00000-of-00001',\n",
    "              'tensorflow_datasets/imdb_reviews/subwords8k/1.0.0/imdb_reviews-train.tfrecord-00000-of-00001',\n",
    "              'tensorflow_datasets/imdb_reviews/subwords8k/1.0.0/imdb_reviews-unsupervised.tfrecord-00000-of-00001',\n",
    "              'tensorflow_datasets/imdb_reviews/subwords8k/1.0.0/label.labels.txt',\n",
    "              'tensorflow_datasets/imdb_reviews/subwords8k/1.0.0/text.text.subwords',\n",
    "              'requirements.txt']\n",
    "\n",
    "train_job = TrainJob(MovieReviewClassification,\n",
    "                      input_files=data_files, \n",
    "                      docker_registry=DOCKER_REGISTRY, \n",
    "                      backend=BackendClass(build_context_source=BuildContext))\n",
    "train_job.submit()\n"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "text_classification_rnn.ipynb",
   "private_outputs": true,
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "02c6cd962bec4c6883d3f78ef8456771": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_a11074b2eb13468d9dd40a1ea2e92eb1",
       "placeholder": "​",
       "style": "IPY_MODEL_c086c8ecd3c54df681bf0b0d6d2c0b08",
       "value": " 1/1 [00:07&lt;00:00,  7.52s/ url]"
      }
     },
     "08cb00a0f73e43ddb72aef3fb0850a55": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_83569998bd4e4ed3b6435132cd5575aa",
       "placeholder": "​",
       "style": "IPY_MODEL_37f0951df8d14bf9a89d2b4d0643f9bb",
       "value": " 25000/0 [00:32&lt;00:00, 931.73 examples/s]"
      }
     },
     "090ebeb4cd464df1ad2a8e2f1746e688": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_5aa396f261c34cde934d8e47cbfc3fc9",
        "IPY_MODEL_0daca63f137943c5b932af897055c504"
       ],
       "layout": "IPY_MODEL_0e4e269a2601494cac08868188b7ab11"
      }
     },
     "0b9d417e027c488a8d23f910d851462c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_42c9bb8529904e4cac01809c7a714c8d",
        "IPY_MODEL_fa300e12d6454d8daf2d10bcd05fec19"
       ],
       "layout": "IPY_MODEL_2ef351cc27c142ba80275e85d3142a15"
      }
     },
     "0daca63f137943c5b932af897055c504": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_8cfb90fdad11457ab88af7eaf44bc040",
       "placeholder": "​",
       "style": "IPY_MODEL_54902dff21054b1095c6c92371a2101b",
       "value": " 80/80 [00:07&lt;00:00, 10.66 MiB/s]"
      }
     },
     "0e4e269a2601494cac08868188b7ab11": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "109d605c1b56498c8981e7133b08067c": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "11dbc2759c1e4e31ad0f328ed9b962b9": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "1879848750774089845d2dcc3bde84c3": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "1904f58931804d36a551122f0bef6887": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "1c9b8145e82a4128a460637d43f5f6f8": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "1ef35a17e3424784a55cba383db0f683": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_6b20270837274d359dd8152737d4c73b",
        "IPY_MODEL_881165f66c6e41bc9356bdd628f16d52"
       ],
       "layout": "IPY_MODEL_1879848750774089845d2dcc3bde84c3"
      }
     },
     "25c7dbf061d04478bf0a123a422841b9": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "288a7845bcca42f4b814504b97d0168b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "2ef351cc27c142ba80275e85d3142a15": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "30dbe11906b445488414961376c37715": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "34d8db2ba7cd4bda8b2768c03c4fcb94": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_5fe116cee3824a678696c13882409184",
        "IPY_MODEL_c58aab93f92b41da80f6a2ab225810c8"
       ],
       "layout": "IPY_MODEL_1c9b8145e82a4128a460637d43f5f6f8"
      }
     },
     "37f0951df8d14bf9a89d2b4d0643f9bb": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "3f83600564924522b3f666262b8f36f4": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "423e37551b2c4c768b91797ba9881715": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_3f83600564924522b3f666262b8f36f4",
       "placeholder": "​",
       "style": "IPY_MODEL_a0d1d64059684d84bdac3304bbfacce4",
       "value": " 49999/50000 [00:00&lt;00:00, 135048.52 examples/s]"
      }
     },
     "42c9bb8529904e4cac01809c7a714c8d": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "danger",
       "description": "100%",
       "description_tooltip": null,
       "layout": "IPY_MODEL_d08a36144e8849cdae377e3bba467473",
       "max": 25000,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_d4078d379a354326a8d5f098a978ed32",
       "value": 24999
      }
     },
     "440ab29045c74e47902691ffd2f5e3be": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "4c2c0d93d67b4fb38fe94be12ed5b378": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "54902dff21054b1095c6c92371a2101b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "5aa396f261c34cde934d8e47cbfc3fc9": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "Dl Size...: 100%",
       "description_tooltip": null,
       "layout": "IPY_MODEL_86eec0bd14a74fbb8319d1cb982290a2",
       "max": 1,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_4c2c0d93d67b4fb38fe94be12ed5b378",
       "value": 1
      }
     },
     "5fe116cee3824a678696c13882409184": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "info",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_7248dbb82ad44cfdbcd0624fd1531727",
       "max": 1,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_717a19110ce7436988b56e951279bba6",
       "value": 1
      }
     },
     "6b20270837274d359dd8152737d4c73b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "info",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_d475b21ec3f2437ab6b49f7841bc0648",
       "max": 1,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_30dbe11906b445488414961376c37715",
       "value": 1
      }
     },
     "717a19110ce7436988b56e951279bba6": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "7248dbb82ad44cfdbcd0624fd1531727": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "83569998bd4e4ed3b6435132cd5575aa": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "86eec0bd14a74fbb8319d1cb982290a2": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "881165f66c6e41bc9356bdd628f16d52": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_909950df4351445a822c4dfd94465122",
       "placeholder": "​",
       "style": "IPY_MODEL_ad10357be05f4840a204d4fd5830c1f0",
       "value": " 50000/0 [00:57&lt;00:00, 926.49 examples/s]"
      }
     },
     "89a5da14f27c41aaa02ca3596de5c442": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "8cfb90fdad11457ab88af7eaf44bc040": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "8e88fb4760e447d09f9cb32a723a046a": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "909950df4351445a822c4dfd94465122": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "92da835c7ab54394bda0654922cdee84": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_bbc5c9a8ca014763b255d600efccecff",
        "IPY_MODEL_423e37551b2c4c768b91797ba9881715"
       ],
       "layout": "IPY_MODEL_d984a4b0661846d38478c734d41801ef"
      }
     },
     "9505e2ccbce94086b85c093cf0f71e44": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "danger",
       "description": "100%",
       "description_tooltip": null,
       "layout": "IPY_MODEL_e48e730cf5ad4425bfbd0013978a8e71",
       "max": 25000,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_b7b5038753de4f5794d0ff683f316731",
       "value": 24999
      }
     },
     "9659780e1f6a46a99a635ca468465797": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "a0d1d64059684d84bdac3304bbfacce4": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "a11074b2eb13468d9dd40a1ea2e92eb1": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "a47b5400d70f4c96a82fa87ae169fa9d": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_e1555597348741b7808ad37d7715030f",
        "IPY_MODEL_02c6cd962bec4c6883d3f78ef8456771"
       ],
       "layout": "IPY_MODEL_b763dfa3ca9345ee9390e9c1d206aab4"
      }
     },
     "ad10357be05f4840a204d4fd5830c1f0": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "b763dfa3ca9345ee9390e9c1d206aab4": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "b7b5038753de4f5794d0ff683f316731": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "bbc5c9a8ca014763b255d600efccecff": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "danger",
       "description": "100%",
       "description_tooltip": null,
       "layout": "IPY_MODEL_fe04450032c94fe187b3cc987f625c15",
       "max": 50000,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_bd0609359a1b48e5907f31e68cf11cbf",
       "value": 49999
      }
     },
     "bd0609359a1b48e5907f31e68cf11cbf": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "c086c8ecd3c54df681bf0b0d6d2c0b08": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "c58aab93f92b41da80f6a2ab225810c8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_8e88fb4760e447d09f9cb32a723a046a",
       "placeholder": "​",
       "style": "IPY_MODEL_25c7dbf061d04478bf0a123a422841b9",
       "value": " 25000/0 [00:31&lt;00:00, 1021.94 examples/s]"
      }
     },
     "cef0231275ab4097bc1fbf714249f774": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_9505e2ccbce94086b85c093cf0f71e44",
        "IPY_MODEL_f739b75fff97444594a9eea06a24fd72"
       ],
       "layout": "IPY_MODEL_fa0375dbcf194c4eabd9b6e4735187ca"
      }
     },
     "d08a36144e8849cdae377e3bba467473": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "d36c6c27bec6442f9be9793109f30113": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HBoxModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_f739cdc6837946d98b6d23d6799fb35a",
        "IPY_MODEL_08cb00a0f73e43ddb72aef3fb0850a55"
       ],
       "layout": "IPY_MODEL_440ab29045c74e47902691ffd2f5e3be"
      }
     },
     "d4078d379a354326a8d5f098a978ed32": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "ProgressStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "ProgressStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "bar_color": null,
       "description_width": "initial"
      }
     },
     "d475b21ec3f2437ab6b49f7841bc0648": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "d984a4b0661846d38478c734d41801ef": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "dd440359f31149259898ab0c69d97fbd": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "e1555597348741b7808ad37d7715030f": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "success",
       "description": "Dl Completed...: 100%",
       "description_tooltip": null,
       "layout": "IPY_MODEL_dd440359f31149259898ab0c69d97fbd",
       "max": 1,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_1904f58931804d36a551122f0bef6887",
       "value": 1
      }
     },
     "e336ffe6f6674f48ac72da0824c5a016": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "DescriptionStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "StyleView",
       "description_width": ""
      }
     },
     "e48e730cf5ad4425bfbd0013978a8e71": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "f739b75fff97444594a9eea06a24fd72": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_11dbc2759c1e4e31ad0f328ed9b962b9",
       "placeholder": "​",
       "style": "IPY_MODEL_e336ffe6f6674f48ac72da0824c5a016",
       "value": " 24999/25000 [00:00&lt;00:00, 240725.22 examples/s]"
      }
     },
     "f739cdc6837946d98b6d23d6799fb35a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatProgressModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "FloatProgressModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "ProgressView",
       "bar_style": "info",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_109d605c1b56498c8981e7133b08067c",
       "max": 1,
       "min": 0,
       "orientation": "horizontal",
       "style": "IPY_MODEL_9659780e1f6a46a99a635ca468465797",
       "value": 1
      }
     },
     "fa0375dbcf194c4eabd9b6e4735187ca": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "fa300e12d6454d8daf2d10bcd05fec19": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "HTMLModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "1.5.0",
       "_model_name": "HTMLModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "1.5.0",
       "_view_name": "HTMLView",
       "description": "",
       "description_tooltip": null,
       "layout": "IPY_MODEL_89a5da14f27c41aaa02ca3596de5c442",
       "placeholder": "​",
       "style": "IPY_MODEL_288a7845bcca42f4b814504b97d0168b",
       "value": " 24999/25000 [00:00&lt;00:00, 244592.56 examples/s]"
      }
     },
     "fe04450032c94fe187b3cc987f625c15": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "1.2.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "1.2.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "overflow_x": null,
       "overflow_y": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
